<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>院系</title>
<link rel="stylesheet" type="text/css"
	href="js/layui-v2.5.4/css/layui.css" />
<script src="js/layui-v2.5.4/layui.js" type="text/javascript"
	charset="utf-8"></script>
</head>
<body>
	<!-- 条件区 -->
	<div class="layui-form-item"
		style="margin-top: 10px; margin-left: 10px">
		<form class="layui-form" method="post" onsubmit="return false;">
			<label class="layui-form-mid">部门名称</label>
			<div class="layui-input-inline" style="width: 200px;">
				<input id="dname" class="layui-input" placeholder="请输入部门名称">
			</div>
			<div class="layui-input-inline" style="width: 100px;">
				<button class="layui-btn" id="mySearch"
					data-type="mySearchTableReload">搜索</button>
			</div>
		</form>
	</div>

	<!-- 顶部工具栏 -->
	<script type="text/html" id="topToolbar">
				<a href="dept.html" class="layui-btn layui-btn-sm"> 
					<i class="layui-icon">&#x1002;</i>刷新
				</a>
				<a class="layui-btn layui-btn layui-btn-sm" lay-event="insertBtnEve">
				 <i class="layui-icon">&#xe608;</i> 添加
				</a>
	</script>
	<!--行内工具栏-->
	<script type="text/html" id="barDemo">
  			<a class="layui-btn layui-btn-xs" lay-event="updateBtnEve">修改</a>
			<a class="layui-btn layui-btn-xs" lay-event="detailBtnEve">详情</a>
			<a class="layui-btn layui-btn-xs" lay-event="deleteBtnEve">删除</a>
		</script>
	<!-- 表格 -->
	<table class="layui-hide" id="myTable" lay-filter="myTableFil"></table>

	<!-- 增、改、单查共用页面，都不要id，否则和条件区重复了，直接调用serialize即可获取表单数据 -->
	<div id="myHtml" style="display: none; margin-top: 20px;">
		<form class="layui-form" id="myForm" lay-filter="myFormFil"
			onsubmit="return false;">
			<!-- 隐藏id -->
			<input type="hidden" id="deptNo" name="deptNo" value="0">
			<div class="layui-form-item">
				<label class="layui-form-label">部门名称:</label>
				<div class="layui-input-inline" style="width: 350px;">
					<input type="text" name="dname" class="layui-input">
				</div>
			</div>
			<div class="layui-form-item">
				<label class="layui-form-label">办公地点:</label>
				<div class="layui-input-inline" style="width: 350px;">
					<input type="text" name="loc" class="layui-input">
				</div>
			</div>
			<div class="layui-btn-container" style="text-align: center;"
				id="mySubmitDiv">
				<button class="layui-btn" lay-filter="mySubmitFil" lay-submit="">提交</button>
			</div>
		</form>
	</div>

	<script>
		/* 所有js代码都写这一行里面 */
		layui.use([ 'table', 'form' ], function() {
			var table = layui.table;
			var form = layui.form;
			var $ = layui.$;
			//渲染表格数据
			table.render({
				elem : '#myTable',
				url : 'dept/selectPage', //数据接口
				toolbar : '#topToolbar',
				method : 'post',
				title : '部门列表',
				page : true, //开启分页
				cols : [ [ {
					field : 'deptNo',
					title : '部门编号',
					align : 'center',
					sort : true
				//开启排序，layui自己排
				}, {
					field : 'dname',
					title : '部门名称',
					align : 'center'
				}, {
					field : 'loc',
					title : '办公地点',
					align : 'center'
				}, {
					fixed : '',
					title : '操作',
					align : 'center',
					toolbar : '#barDemo'
				} ] ],
				id : "myTableReloadId"
			});
			/* 以layui格式创建函数，暂时只有一个函数：mySearchTableReload */
			active = {
				//定义搜索按钮函数
				mySearchTableReload : function() {
					table.reload('myTableReloadId', {
						where : {
							//点搜索时以id形式获取表单数据，而不是提交表单
							'dname' : $('#dname').val()
						}
					});
				}
			};
			//监听搜索按钮，执行mySearchTableReload方法
			$('#mySearch').on('click', function() {
				var type = $(this).data('type');
				active[type] ? active[type].call(this) : '';
			});
			//监听顶部工具栏事件，添加/修改按钮，点击弹出页面
			table.on('toolbar(myTableFil)', function(obj) {
				switch (obj.event) {
				case 'insertBtnEve': {
					$('#mySubmitDiv').css("display", "block");

					//如果先点击了修改按钮，表单里有值了，这里重置一下
					$('#myForm')[0].reset();
					//重置不了id，这里手动重置一下
					$('#deptNo').val(0);
					layer.open({
						type : 1,
						title : '添加部门',
						content : $("#myHtml"),
						area : [ '500px', '400px' ]
					});
				}
					break;

				}

			});
			//监听行内工具条
			table.on('tool(myTableFil)', function(obj) {
				//获取该行数据
				var data = obj.data;
				if (obj.event === 'updateBtnEve') {
					$('#mySubmitDiv').css("display", "block");
					form.val("myFormFil", data);
					edit_index = layer.open({
						type : 1,
						title : '您正在修改' + data.dname + '的信息',
						content : $("#myHtml"),
						scrollbar : true, /* 滚动条 */
						resize : true, /* 是否允许拉伸 */
						area : [ '600px', '300px' ]
					});
				} else if (obj.event === 'detailBtnEve') {
					//隐藏提交按钮
					$('#mySubmitDiv').css("display", "none");
					form.val("myFormFil", data);
					edit_index = layer.open({
						type : 1,
						title : '您正在查看' + data.dname + '的信息',
						content : $("#myHtml"),
						scrollbar : true, /* 滚动条 */
						resize : true, /* 是否允许拉伸 */
						area : [ '600px', '200px' ]
					});
				} else if (obj.event === 'deleteBtnEve') {
					form.val("myFormFil", data);
					console.log(data.deptNo);
					layer.confirm('确认删除id为[' + data.deptNo + ']的信息吗?', function(index) {
						$.post("dept/delete", {
							"deptNo" : data.deptNo
						}, function(res) {
							console.log(res);
							if (res.code == 0) {
								layer.msg(res.msg, {
									icon : 1,
									time : 1000
								}, function() {
									layer.close(layer.index);
									window.location.reload();
								});
							} else {
								layer.msg(res.msg, {
									icon : 2,
									time : 1000
								});
							}
						}, "json");
						return false;
					});
				}
			});

			//监听新增/修改页面的提交按钮
			form.on('submit(mySubmitFil)', function(data) {
				$('#mySubmitDiv').css("display", "block");
				var str = $("#myForm").serialize();//根据name属性获取表单数据
				console.log(str);
				//判断是添加还是修改
				var myUrl;
				if ($('#dname').val() != null) {//简单的做个输入判断，未输入提交无效
					if ($('#deptNo').val() == "0") {//为0说明没赋值，说明是添加
						myUrl = "dept/insert";
					} else {
						myUrl = "dept/update";
					}
				}
				$.post(myUrl, str, function(res) {
					if (res.code == 0) {
						//根据后台提示信息弹出msg
						layer.msg(res.msg, {
							icon : 1,
							time : 1000
						}, function() {
							layer.close(layer.index);
							window.location.reload();
						});
					} else {
						layer.msg(res.msg, {
							icon : 5,
							time : 1000
						});
					}
				}, "json");

			});
		});
	</script>
</body>
</html>